﻿#ifndef MINSTACK_H_
#define MINSTACK_H_

namespace algorithm {
    /**
     * @brief 设计一个支持 push ，pop ，top 操作，并能在常数时间内检索到最小元素的栈.
     * https://leetcode.cn/problems/min-stack/description/
     */
    class CMinStack
    {
    private:
        std::stack<long long> m_stack;
        int m_minValue = 0;

    public:
        CMinStack();
        void push(int val);
        void pop();
        int top();
        int getMin();
    };
}

#endif //!MINSTACK_H_
